julia> eltype(rand(Int, 1, 1) \ rand(Float32, 1))
Float32
julia> eltype(rand(Int, 2,2) \ rand(Float32, 2))
Float64
This is because it checks if the matrix is triangular/diagonal (which it always is for n=1). I'm not sure how to fix this without copies.