Version without pattern-matching