Clean up lam-result.

Make drest a list instead of a pair, replace an int-err with a match error
which has source location, and remove static name for rest argument in error
case.