Issue 1:
julia> [:A=>rand(2)]
1-element Array{Pair{Symbol,Array{Float64,1}},1}:
Error showing value of type Array{Pair{Symbol,Array{Float64,1}},1}:
ERROR: AssertionError: Array{Float64,1} is not a subtype of Pair{Symbol,Array{Float64,1}}
Stacktrace:
[1] typeinfo_prefix(::IOContext{Base.GenericIOBuffer{Array{UInt8,1}}}, ::Array{Float64,1}) at ./arrayshow.jl:479
[2] show_vector(::IOContext{Base.GenericIOBuffer{Array{UInt8,1}}}, ::Array{Float64,1}, ::Char, ::Char) at ./arrayshow.jl:432 (repeats 2 times)
[3] show at ./arrayshow.jl:446 [inlined]
[4] show(::IOContext{Base.GenericIOBuffer{Array{UInt8,1}}}, ::Pair{Symbol,Array{Float64,1}}) at ./show.jl:579
[5] #sprint#345(::IOContext{REPL.Terminals.TTYTerminal}, ::Int64, ::Function, ::Function, ::Pair{Symbol,Array{Float64,1}}, ::Vararg{Pair{Symbol,Array{Float64,1}},N} where N) at ./strings/io.jl:91
[6] #sprint at ./<missing>:0 [inlined]
[7] alignment(::IOContext{REPL.Terminals.TTYTerminal}, ::Pair{Symbol,Array{Float64,1}}) at ./show.jl:1789
[8] alignment(::IOContext{REPL.Terminals.TTYTerminal}, ::Array{Pair{Symbol,Array{Float64,1}},1}, ::Base.OneTo{Int64}, ::Base.OneTo{Int64}, ::Int64, ::Int64, ::Int64) at ./arrayshow.jl:68
[9] print_matrix(::IOContext{REPL.Terminals.TTYTerminal}, ::Array{Pair{Symbol,Array{Float64,1}},1}, ::String, ::String, ::String, ::String, ::String, ::String, ::Int64, ::Int64) at ./arrayshow.jl:187
[10] print_matrix at ./arrayshow.jl:160 [inlined]
[11] print_array at ./arrayshow.jl:309 [inlined]
[12] show(::IOContext{REPL.Terminals.TTYTerminal}, ::MIME{Symbol("text/plain")}, ::Array{Pair{Symbol,Array{Float64,1}},1}) at ./arrayshow.jl:345
[13] display(::REPL.REPLDisplay{REPL.LineEditREPL}, ::MIME{Symbol("text/plain")}, ::Array{Pair{Symbol,Array{Float64,1}},1}) at /buildworker/worker/build_ubuntu64/build/usr/share/julia/site/v0.7/REPL/src/REPL.jl:131
[14] display(::REPL.REPLDisplay{REPL.LineEditREPL}, ::Array{Pair{Symbol,Array{Float64,1}},1}) at /buildworker/worker/build_ubuntu64/build/usr/share/julia/site/v0.7/REPL/src/REPL.jl:134
[15] display(::Array{Pair{Symbol,Array{Float64,1}},1}) at ./multimedia.jl:287
[16] (::getfield(Base, Symbol("#inner#4")){Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{(),Tuple{}}},typeof(display),Tuple{Array{Pair{Symbol,Array{Float64,1}},1}}})() at ./essentials.jl:639
[17] #invokelatest#3 at ./essentials.jl:640 [inlined]
[18] invokelatest at ./essentials.jl:639 [inlined]
[19] print_response(::REPL.Terminals.TTYTerminal, ::Any, ::Nothing, ::Bool, ::Bool, ::Nothing) at /buildworker/worker/build_ubuntu64/build/usr/share/julia/site/v0.7/REPL/src/REPL.jl:152
[20] print_response(::REPL.LineEditREPL, ::Any, ::Nothing, ::Bool, ::Bool) at /buildworker/worker/build_ubuntu64/build/usr/share/julia/site/v0.7/REPL/src/REPL.jl:138
[21] (::getfield(REPL, Symbol("#do_respond#42")){Bool,getfield(REPL, Symbol("##52#61")){REPL.LineEditREPL,REPL.REPLHistoryProvider},REPL.LineEditREPL,REPL.LineEdit.Prompt})(::REPL.LineEdit.MIState, ::Base.GenericIOBuffer{Array{UInt8,1}}, ::Bool) at /buildworker/worker/build_ubuntu64/build/usr/share/julia/site/v0.7/REPL/src/REPL.jl:704
[22] top-level scope

julia> versioninfo()
Julia Version 0.7.0-DEV.4390
Commit 79c7bdd9ec (2018-02-26 07:59 UTC)
Platform Info:
OS: Linux (x86_64-pc-linux-gnu)
CPU: Intel(R) Core(TM) i7-4600U CPU @ 2.10GHz
WORD_SIZE: 64
LIBM: libopenlibm
LLVM: libLLVM-3.9.1 (ORCJIT, haswell)
Environment:
JULIA_BINDIR = /opt/julia/bin
JULIA_HOME = /opt/julia0p6/bin

Issue 2:
Would be useful for many packages, JuliennedArrays, LightQuery, SplitApplyCombine, MappedArrays, Query, etc. Base already has an AbstractEltypelessArray: the lazy broadcast machinery, it would just be a matter of formalizing the interface. Given that traits aren't coming any time soon, it couldn't be <: AbstractArray, so we would have to duplicate all of the machinery for AbstactArrays. I could try to build a prototype if people are interested?