fn filter_proposals(
    proposals: Vec<FullProposalInfo>,
    filter: &[Constraint]
) -> Result<Vec<FullProposalInfo>, Rejection>