Added a recursive type checking for Type.List