add type bound example
add property based testing