factored out representable/corepresentable