Issue 1:
PSA: try to avoid ifelse. Otherwise, you cause bugs.

action required: revert #14493

symptom: coverage buildbots are broken (https://build.julialang.org/builders/coverage_ubuntu14.04-x64/builds/89/steps/Run%20non-inlined%20tests/logs/stdio)

$ ./julia -q --inline=no
srand(123);
A1 = Base.LinAlg.UnitUpperTriangular(convert(Matrix{BigFloat}, randn(9,9) |> (t -> chol(t't))));
using Base.Test

julia> similar(A1)
9x9 Base.LinAlg.UnitUpperTriangular{BigFloat,Array{BigFloat,2}}:
#undef #undef #undef #undef #undef #undef #undef #undef #undef
#undef #undef #undef #undef #undef #undef #undef #undef #undef
#undef #undef #undef #undef #undef #undef #undef #undef #undef
#undef #undef #undef #undef #undef #undef #undef #undef #undef
#undef #undef #undef #undef #undef #undef #undef #undef #undef
#undef #undef #undef #undef #undef #undef #undef #undef #undef
#undef #undef #undef #undef #undef #undef #undef #undef #undef
#undef #undef #undef #undef #undef #undef #undef #undef #undef
#undef #undef #undef #undef #undef #undef #undef #undef #undef

julia> copy!(B, A1);

julia> @test B == A1

Error During Test
Test threw an exception of type UndefRefError
Expression: B == A1
UndefRefError: access to undefined reference
in getindex(::Array{BigFloat,2}, ::Int64, ::Int64) at array.jl:241
in getindex(::Base.LinAlg.UnitUpperTriangular{BigFloat,Array{BigFloat,2}}, ::Int64, ::Int64) at linalg/triangular.jl:114
in _getindex(::Base.LinearSlow, ::Base.LinAlg.UnitUpperTriangular{BigFloat,Array{BigFloat,2}}, ::CartesianIndex{2}) at multidimensional.jl:359
in getindex(::Base.LinAlg.UnitUpperTriangular{BigFloat,Array{BigFloat,2}}, ::CartesianIndex{2}) at abstractarray.jl:476
in next(::Base.LinAlg.UnitUpperTriangular{BigFloat,Array{BigFloat,2}}, ::Tuple{CartesianRange{CartesianIndex{2}},CartesianIndex{2}}) at abstractarray.jl:400
in next(::Base.Zip2{Base.LinAlg.UnitUpperTriangular{BigFloat,Array{BigFloat,2}},Base.LinAlg.UnitUpperTriangular{BigFloat,Array{BigFloat,2}}}, ::Tuple{Tuple{CartesianRange{CartesianIndex{2}},CartesianIndex{2}},Tuple{CartesianRange{CartesianIndex{2}},CartesianIndex{2}}}) at iterator.jl:48
in ==(::Base.LinAlg.UnitUpperTriangular{BigFloat,Array{BigFloat,2}}, ::Base.LinAlg.UnitUpperTriangular{BigFloat,Array{BigFloat,2}}) at abstractarray.jl:990
in eval(::Module, ::Any) at ./boot.jl:243
in eval(::Module, ::Expr) at REPL.jl:3
ERROR: There was an error during testing
in error(::ASCIIString) at error.jl:21
in record(::Base.Test.FallbackTestSet, ::Base.Test.Error) at test.jl:317
in do_test(::Base.Test.Threw, ::Expr) at test.jl:215
in eval(::Module, ::Any) at ./boot.jl:243
in eval(::Module, ::Expr) at REPL.jl:3

Issue 2:
julia> versioninfo()
Julia Version 1.8.0-DEV.836
Commit c054dbc6d4 (2021-10-28 16:31 UTC)
Platform Info:
OS: macOS (x86_64-apple-darwin20.6.0)
CPU: Intel(R) Core(TM) i7-8559U CPU @ 2.70GHz
WORD_SIZE: 64
LIBM: libopenlibm
LLVM: libLLVM-12.0.1 (ORCJIT, skylake)
Environment:
JULIA_NUM_THREADS = 4

julia> ((x::T) where {T}) -> x + one(T)
#9 (generic function with 1 method)

julia> Base.Experimental.@opaque ((x::T) where {T}) -> x + one(T)
ERROR: syntax: ssavalue with no def
Stacktrace:
[1] top-level scope
@ REPL[12]:1

It seems like opaque closures don't know how to deal with static type params.