func (s *Signature) similar(r *Signature, similar Similarity) bool {
	if s.State != r.State || !s.CreatedBy.similar(&r.CreatedBy, similar) {
		return false
	}
	if similar == ExactFlags && s.Locked != r.Locked {
		return false
	}
	return s.Stack.similar(&r.Stack, similar)
}
func (s *Signature) similar(r *Signature, similar Similarity) bool {
	if s.State != r.State || !s.CreatedBy.similar(&r.CreatedBy, similar) {
		return false
	}
	if similar == ExactFlags && s.Locked != r.Locked {
		return false
	}
	return s.Stack.similar(&r.Stack, similar)
}
func ( s * Signature ) similar ( r * Signature , similar Similarity ) bool { if s . State != r . State || ! s . CreatedBy . similar ( & r . CreatedBy , similar ) { return false } if similar == ExactFlags && s . Locked != r . Locked { return false } return s . Stack . similar ( & r . Stack , similar ) }
// similar returns true if the two Signature are equal or almost but not quite
// equal.
similar returns true if the two Signature are equal or almost but not quite equal .