Programming metaphors for theological concepts