rename to avoid shadowing built-in type 'type'