T12151.hs:9:13: error: • The default type signature for put: forall t. t does not match its corresponding non-default type signature • When checking the class method: put :: forall a. Put a => a In the class declaration for ‘Put’ T12151.hs:9:13: error: • Could not deduce (Put a0) from the context: Put a bound by the type signature for: put :: forall a t. Put a => t at T12151.hs:9:13-15 The type variable ‘a0’ is ambiguous • In the ambiguity check for ‘put’ To defer the ambiguity check to use sites, enable AllowAmbiguousTypes When checking the class method: put :: forall a. Put a => a In the class declaration for ‘Put’