Unison is exploring the idea of storing source code by the hash of its AST, which allows some interesting refactoring and testing designs: https://www.theregister.co.uk/AMP/2019/09/26/unison_programming_language/