All our other types use the same pattern