improved input validation

* (first-arg [args]) fn to return first arg

* using {:pre} assertion for validation.  Throws error indicating condition violated