What is nil-punning?
allowing functions to treat nil arguments as empty versions of their expected types
allowing functions to treat nil arguments as empty versions of their expected types