add time and duration support don't change the input value when bind returns false track down the cases when reflect can panic test: - repeated bindings - cases of allocations - preallocated and unallocated list sizes