User-defined types and structures