See the compromise implementation in Issue #2.
See the compromise implementation in Issue #2.