def fulfilled_by?(contract)
      contract.each_clause do |clause|
        clause.legal_assesment(@subject).tap do |lawyer|
          unless lawyer.satisfied?
            @satisfied = false
            @messages << lawyer.messages 
          end
        end
      end
      @satisfied
    end
def fulfilled_by?(contract)
      contract.each_clause do |clause|
        clause.legal_assesment(@subject).tap do |lawyer|
          unless lawyer.satisfied?
            @satisfied = false
            @messages << lawyer.messages 
          end
        end
      end
      @satisfied
    end
fulfilled_by?

 receives exactly one contract, and returns true/false if
 the inspected object responds to the same methods indicated
 by the contract's clauses.