parameterising modules where appopriate, a few more equational proofs