So, I have been trying to encode the property of being a Binary Search Tree (instead of just a binary tree) in a new data type in Idris.
It seems to work reasonably well