1 2 3 4
-- Test Trac #2766 :set -XTypeOperators :m Control.Arrow :t first :: Arrow (~>) => b~>c -> (b, d)~>(c, d)