tinkering with types design