Unexpected behaviour of type synonyms with type variables

With the following definitions

module test

:: TypeT1 m a = Ty1 (m a)
:: TypeT2 m a = Ty2 (m a)

:: Ident a = Ident a

:: Type1 a :== TypeT1 Ident a
:: Type2 a :== TypeT2 Ident a

This is not allowed and throws an error: :: ShortHand a :== TypeT1 Type2 a Error [test.icl,14,ShortHand]: Type1 used with wrong arity

Manually expanding the type synonym works: :: ShortHand a :== TypeT1 (TypeT2 Ident) a

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information