T2627b.hs:20:24: error: Occurs check: cannot construct the infinite type: t0 ~ Dual (Dual t0) The type variable ‘t0’ is ambiguous In the expression: conn undefined undefined In an equation for ‘conn’: conn (Rd k) (Wr a r) = conn undefined undefined