Currently similar falls back to returning Array:
julia> using ZeroDimensionalArrays
julia> a = ZeroDimensionalArrayImmutable(fill(false))
0-dimensional ZeroDimensionalArrayImmutable{Bool}:
0
julia> similar(a, 1)
1-element Vector{Bool}:
0
julia> similar(a, 1, 1)
1×1 Matrix{Bool}:
0
Perhaps it'd be nicer to return FixedSizeArray? That would require a dependency on FixedSizeArrays, though.