Added most basic constraints on type parameters