local function id(x)
  return x
end
local function comp(f)
  return function(g)
    return function(x)
      return f(g(x))
    end
  end
end
local id2 = comp(id)(id)
local nil2 = id2(nil)
local a : unknown = nil
local b : nil = nil
local c : (nil) -> nil = nil
local d : (unknown & nil) = nil
local e : unknown? = nil
local f : number = 123.0
return id2(nil2)