changed type alias to abstract type with comment