Even if underlying seq contains a cached hash, LazySeq computes it every time.
Approach: If seq produced by LazySeq implementing IHashEq, use it to calculate the hasheq().
1.6.0 master SNAPSHOT
Added patch which checks if underlying seq implements IHashEq and if yes, uses that hash instead of recomputing.
In this patch, can you update the else case (the original code) to use s rather than this, so seq() is not re-called?
that reuses s for else case.
The -2 patch doesn't compile so I guess that was a bad suggestion.