I think the type signature would look like f :: a -> [Int]
input data would look like data NamedPoint = NamedPoint String Int Int
data Person = Name Int Int Int
and using it in the REPL would look like this:
>> let namedPoint = NamedPoint "hey" 1 2
>> let tommy = Person "Tommy" 1 2 3
>> f namedPoint
>> [1,2]
>> f Tommy
>> [1,2,3]
I think this would be useful as an alternative to records for when you are too lazy to write getters for data with alot of parameters.