Architectural mismatch or why it's hard to build systems out of existing parts | Synapse