Perfect custom type