more docs.
add test where we use return in validate to return arbitrary object.