Describe how you would implement a key-value store with functional test cases and careful handling of edge cases.
Implement key_value_store(operations), where each operation is an array: ["set", key, value], ["get", key], or ["delete", key]. Return one result per operation: True for a successful set, the stored value or None for get, and True or False for delete depending on whether the key existed. Keys are non-empty strings, values are non-null JSON-compatible values, and operations are valid.
def key_value_store(operations):